import G3xObj from './G3xObj';
import * as g3xUtils from "@g3x/utils";
import * as mobx from 'mobx';

/**
 * 具备viewer的对象的基类
 * @description 具备viewer等属性，从该对象派生，可感知对象的创建销毁等操作。
 * @class
 * @extends G3xObj
 */
class G3vObj extends G3xObj {

  constructor(g3vViewer, options) {

    super(options);

    g3xUtils.g3x_defineReadonly(this, "g3vViewer", g3vViewer)
    g3xUtils.g3x_defineReadonly(this, "viewer", g3vViewer.viewer)
    g3xUtils.g3x_defineReadonly(this, "scene", viewer.scene)

    mobx.extendObservable(this, { isSelected: false, });
  }

  flyTo(options) {}
}

export default G3vObj;
